package com.cskaoyan.javase.basic._5scanner;

/**
 * @description: 解决Scanner nextLine问题
 * @author: wuguidong@cskaoyan.onaliyun.com
 **/

import java.util.Scanner;

/**
 * 怎么解决?
 *      1.重新new一个Scanner对象.可以实现但是不好,new对象的过程肯定占用内存耗费时间,这不是最优解
 *      2.写两个nextLine方法,上面一个用于接收空字符,下面才是正常的录入(可以,但是有点笨)
 *      3.既然混用会有问题,那我干脆不要混用
 *          仅仅使用next系列方法或者仅仅使用nextLine方法
 *          因为next系列方法局限性比较多,建议使用nextLine方法
 *          这是推荐的做法
 *
 * 混用next系列和nextLine方法是不好的习惯,即便两个方法的调用从代码上来说相隔很远,
 *      但只要是使用的同一个对象都会互相影响
 *
 */
public class Demo2 {
    public static void main(String[] args) {
        /*Scanner sc1 = new Scanner(System.in);
        Scanner sc2 = new Scanner(System.in);
        int a = sc1.nextInt();
        String s = sc2.nextLine();
        System.out.println(a);
        System.out.println(s);*/

        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个数字:");
        String str = sc.nextLine();
        //怎么把String字符串转换为int整数?
        //Integer是int类型的包装类,包含了int类型的各种操作
        //Integer.parseInt（String） 该方法将字符串解析成一个int整数,前提是这个字符串就是一个整数
        int num = Integer.parseInt(str);
        System.out.println(num);

        System.out.println("请输入一行字符串:");
        String str2 = sc.nextLine();
        System.out.println(str2);

    }
}
